import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
import { resolve } from "path";
import AutoImport from "unplugin-auto-import/vite";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
  resolve: {
    alias: {
      "@": resolve(__dirname, "./src"),
      coms: resolve(__dirname, "./src/components"),
      vs: resolve(__dirname, "./src/view"),
      ut: resolve(__dirname, "./src/utils"),
      as: resolve(__dirname, "./src/assets"),
    },
  },

  build: {
    target: "modules",
    outDir: "dist",
    assetsDir: "assets",
    minify: "terser",
  },
  server: {
    host: "localhost",
    port: 8080,
    open: true,
    proxy: {
      '/api': {
        target: 'http://localhost:3000/',
        ws: true,
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, ""),
      },
    },
  },
});
